Emoji chooser: Also check for hex boxes
authorMatthias Clasen <mclasen@redhat.com>
Thu, 19 Jul 2018 21:57:19 +0000 (17:57 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Thu, 19 Jul 2018 21:57:19 +0000 (17:57 -0400)
We don't want to see those either.

gtk/gtkemojichooser.c

index ad722e4a1b0a14765529736e36277d977c7c4db7..1ea0cfc33783da6cb63e0e2c4405a6b510543090 100644 (file)
@@ -373,7 +373,8 @@ add_emoji (GtkWidget    *box,
   pango_layout_get_extents (layout, &rect, NULL);
 
   /* Check for fallback rendering that generates too wide items */
-  if (rect.width >= 1.5 * chooser->emoji_max_width)
+  if (pango_layout_get_unknown_glyphs_count (layout) > 0 ||
+      rect.width >= 1.5 * chooser->emoji_max_width)
     {
       gtk_widget_destroy (label);
       return;
@@ -610,7 +611,8 @@ gtk_emoji_chooser_init (GtkEmojiChooser *chooser)
   /* Get a reasonable maximum width for an emoji. We do this to
    * skip overly wide fallback rendering for certain emojis the
    * font does not contain and therefore end up being rendered
-   * as multiply glyphs. */
+   * as multiply glyphs.
+   */
   {
     PangoLayout *layout = gtk_widget_create_pango_layout (GTK_WIDGET (chooser), "🙂");
     PangoAttrList *attrs;